﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Texfina.Core.Web;
using Texfina.BOQry.Co;
using System.Data;
using Texfina.Entity.Co;
using System.IO;
using CrystalDecisions.CrystalReports.Engine;
using Texfina.Core.Common;
using CrystalDecisions.Shared;

namespace CO
{
    public partial class WFordenCompraFillFacRpt : PageBase
    {
      protected void Page_Load(object sender, EventArgs e)
        {


            if (IsCallback) return;
            if (!Page.IsPostBack)
            {
                LoadCombos();
            }
        }

        private void LoadCombos()
        {
            EProveedor prov = new EProveedor();
            prov.Id_empresa = Session[ConstSessionVar.EMPRESA].ToString();

            WebHelper.LoadListControl2(dpProveedor, BProveedor.Proveedor_qry02(prov), "ds_raznombre", "id_clipro");

           dpProveedor.Items.Insert(0, new ListItem("Seleccionar", ""));

        }

        public override void ExportReport(string key)
        {

            //try
            //{
                DataSet ds = (DataSet)this.GetDataReport(key);
                //if (ds.Tables[0].Rows.Count == 0)
                //{
                //    this.hdnMsgOPB.Value = this.CreatePostbackMessage("ATENCIÓN", "No se encotraron Resultados", TypeMessageAlert.atention, false, "");
                //    return;
                //}
                ExcelHelper.ToExcel(ds, "Data.xls", Response);
            //}
            //catch (Exception ex)
            //{
            //    Response.Write(ex.ToString());
            //}

        }
        public override object GetDataReport(string key)
        {

            EParOCFillrpt objE = new EParOCFillrpt();
            // RHBORpt.IPersonal objBO = (RHBORpt.IPersonal)WCFHelper.GetObject<RHBORpt.IPersonal>(typeof(RHBORpt.Personal));
            //objE.IdEmpresa = Session[Constants.ConstSessionVar.EMPRESA].ToString();

            objE.IdEmpresa = Session[Constants2.ConstSessionVar.EMPRESA].ToString(); // llenar con sesion
            objE.IdAnio = Session[Constants2.ConstSessionVar.PERIODO].ToString(); 
            objE.IdMes = dpMes.SelectedValue;
            objE.idProv = dpProveedor.SelectedValue;
            objE.nuFactura = txtFactura.Text;
            objE.nuImportacion = txtImportacion.Text;
            objE.nuExportacion = txtExportacion.Text;
            BOrdenCompra objOC = new BOrdenCompra();
            DataTable dt = objOC.OrderCompra_rpt03(objE);
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            return ds;

        }

        public override void PrintReport(string key)
        {
            ReportDocument objRpt = new ReportDocument();
            DataSet ds = (DataSet)this.GetDataReport(key);

            //if (ds.Tables[0].Rows.Count == 0)
            //{ 
            //    this.hd
            //}
            objRpt.Load(this.MapPath(Constants2.ConstSistema.ROOT_FOLDER_PATH + "/co_ordenCompra_impExp_rpt.rpt"));
            objRpt.SetDataSource(ds.Tables[0]);
            MemoryStream ms = new MemoryStream();
            Response.Clear();
            ms = (MemoryStream)objRpt.ExportToStream(ExportFormatType.PortableDocFormat);
            objRpt.Dispose();
            objRpt = null;
            Response.AddHeader("Content-Disposition", "attachment;filename=OrdenCompra.pdf");
            Response.Buffer = true;
            Response.ContentType = "application/pdf";
            ms.WriteTo(Response.OutputStream);
            Response.Flush();
            Response.End();
        }

        protected void btnImprimir_Click(object sender, EventArgs e)
        {
            PrintReport("");
        }

        protected void btnExportar_Click(object sender, EventArgs e)
        {
            ExportReport("");
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            EParOCFillrpt objE = new EParOCFillrpt();

            objE.IdEmpresa = Session[Constants2.ConstSessionVar.EMPRESA].ToString();// llenar con sesion

            objE.IdAnio = Session[Constants2.ConstSessionVar.PERIODO].ToString();
            objE.IdMes = dpMes.SelectedValue;
            objE.idProv = dpProveedor.SelectedValue;
            objE.nuFactura = txtFactura.Text;
            objE.nuImportacion = txtImportacion.Text;
            objE.nuExportacion = txtExportacion.Text;
            BOrdenCompra objOC = new BOrdenCompra();
            gv_Listado.DataSource = objOC.OrderCompra_rpt03(objE);
            gv_Listado.DataBind();

      
        }



    }
}